import axios from "axios";
// axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'
const instance = axios.create({
    // 网络请求公共配置
    timeout: 5000,
    headers: {
        // 'Content-Type': 'application/json;charset=GBK'
    }
})

const errorHandle = (status, info) => {
    switch (status) {
        case 400:
            return '语法错误！'
        case 401:
            return '服务器认证失败！'
        case 403:
            return '服务器拒绝访问！'
        case 404:
            return '404 Not Found！'
        case 500:
            return '服务器错误！'
        case 502:
            return '服务器无响应！'
        default:
            return info
    }
}

// 拦截器
instance.interceptors.request.use( // 请求前
    // 成功处理
    config => {
        return config
    },
    // 失败处理
    error => Promise.reject(error)
)
instance.interceptors.response.use(  // 响应前
    response => {
        return Math.floor(response.status / 100) === 2 ? Promise.resolve(response) : Promise.reject(response)
    },
    error => {
        error.message = errorHandle(error.request.status, error.message)
        return Promise.reject(error)
    }
)


export default instance;